@use 'sass:math';
@use '_variables' as *;
@use '_mixins' as *;

$index-block-height: 40px;

header {
  margin-bottom: 30px;
  padding-bottom: 25px;
  width: 100%;
  background-color: pvar(--mainColorVeryLight);
}

.header-steps {
  max-width: 800px;
  display: flex;
  justify-content: space-between;
  margin: auto;

  // Useful on small screens
  padding: 0 20px;
}

.step-index {
  display: flex;
  justify-content: center;
  align-items: center;
  width: $index-block-height;
  height: $index-block-height;
  border-radius: $index-block-height;
  border: 1px solid pvar(--mainColor);
  margin-bottom: 10px;
  font-size: 24px;
  position: relative;

  .completed-icon {
    $size: 14px;

    width: $size;
    height: $size;
    border-radius: $size;
    background-color: pvar(--mainBackgroundColor);
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    // Better than border color for aliasing
    box-shadow: 0 0 0 1px var(--mainColor);
    overflow: hidden;

    my-global-icon {
      @include apply-svg-color(pvar(--mainColor));

      display: flex;
      width: 12px;
      height: 12px;
    }
  }
}

.step-label {
  width: max-content;
  font-size: 18px;
}

.step-info {
  color: pvar(--mainColor);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: $index-block-height;
  opacity: 0.5;

  &.active,
  &.completed {
    .step-index {
      background-color: pvar(--mainColor);
      color: pvar(--mainBackgroundColor);
    }

    .step-label {
      color: pvar(--mainColor);
    }
  }

  &.active {
    opacity: 1;
  }
}

.connector {
  flex: auto;
  margin: math.div($index-block-height, 2) 10px 0 10px;
  height: 2px;
  background-color: pvar(--mainColor);
  opacity: 0.3;
}

@media screen and (min-width: $small-view) {
  .margin-content {
    max-width: 1000px;
    margin: auto;
  }
}

@media screen and (max-width: $small-view) {
  .step-label {
    width: auto;
    text-align: center;
  }
}
